跳到主要内容

dot Net Core学习

环境配置

方法一 去官网下载

方法二 可以使用VS2019来安装这些环境

# 如果装好了可以查看一些这命令在哪
Get-Command dotnet

.NET Core 与 .NET Framework、Mono之间的关系

.NET Framework和Windows已经深深的绑定在一起,以至于老一些的程序提起.Net就是Windows,所以很难跨平台 而谈到C#跨平台一般指的是.NET CoreMono

Mono.NET Core做的事情其实差不多 都是让.NET Framework能够跨平台,只不过mono是开源社区项目,无法受到微软的控制,而.NET Core则是官方自己的。

ASP.NET Core

什么是 ASP.NET Core

ASP.NET Core是一个跨平台的高性能开源框架,用于生成启用云且连接 Internet 的新式应用。 使用ASP.NET Core,可以:

  • 生成 Web 应用和服务、物联网 (IoT) 应用和移动后端。
  • 在 Windows、macOS 和 Linux 上使用喜爱的开发工具。
  • 部署到云或本地。
  • 在 .NET Core 或 .NET Framework 上运行。

总之就是ASP.NET Core是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用

ASP.NET CoreASP.NET是有区别的,前者是依托于.NET Core构建,后者则是.NET Framework

两者的区别可以参见官网

ASP.NET CoreASP.NET 4.x
针对 Windows、macOS 或 Linux 进行生成针对 Windows 进行生成
Razor Pages 是在 ASP.NET Core 2.x 及更高版本中创建 Web UI 时建议使用的方法。 另请参阅 MVC、Web API 和 SignalR。使用 Web Forms、SignalR、MVC、Web API、WebHook 或网页
每个计算机多个版本每个计算机一个版本
使用 C# 或 F# 通过 Visual Studio、Visual Studio for Mac 或 Visual Studio Code 进行开发使用 C#、VB 或 F# 通过 Visual Studio 进行开发
ASP.NET 4.x 性能更高良好的性能
使用 .NET Core 运行时使用 .NET Framework 运行时

创建 Web 应用项目

在命令输入

# 创建项目
dotnet new webapp -o 项目名
# 信任https证书
dotnet dev-certs https --trust
# 运行应用
dotnet watch run
# 访问: https://localhost:5001/

.NET Core

什么是 .NET Core

官方文档

就是一个让.NET Framework跨平台的环境,

创建首个应用程序

# 当前路径创建一个模板控制台应用
dotnet new console
# 运行这个项目
dotnet run

项目结构

参考自.net core项目结构与发布 - 6号咸鱼的文章 - 知乎

# 查看版本信息
dotnet --info

前面提的创建了.NET Core项目,在当前文件夹下生成了一堆文件

NRW7HH.png

那这些文件有什么用呢?

  • 其中obj文件夹包含了编译与生成时需要的和产生的中间文件,一般不需要关注。
  • TestCSharp.csproj即项目文件,这个文件是项目组织和配置的核心,会在生成时被MSBuild用来作为输入。csproj文件的本质是一个保存项目信息的xml文件
  • Progam.cs就是程序的代码文件
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<!-- OutputType指定了当前项目的类型 -->
<OutputType>Exe</OutputType>
<!-- TargetFramework指定了当前项目所用的框架 -->
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>

</Project>

运行项目的区别

# 如果是用文件(TestCSharp.csproj)启动项目,则是用下面这个命令
dotnet run --project
# 如果是直接在项目目录启动项目则直接
dotnet run